ANN의 hidden layer의 오차를 업데이트 하는 방법. hidden layer의 출력값은, 드러나지 않으므로 알 수 없으니 output layer의 Loss function을 편미분하여 Chain-Rule을 이용해 hidden layer의 가중치를 업데이트 한다.
Weights W 의 업데이트는 Loss function에 대해 L(W)의 꼴로 볼 수 있으므로, ∇L(W)를 이용해 Gradient Descent하는 방식으로 이루어진다.
Why use Chain-Rule?
하지만 ANN은 여러 layer가 복잡하게 쌓여져 있는, linear function과 non-linear function이 복잡하게 얽혀있는 구조이므로 한번에 그 편미분을 구하기는 거의 불가능에 가깝다. 이를 해결하기 위해 각 function에 대하여 Chain-Rule를 이용해 끊어 계산한다.
수정수정
Hidden Layer update
Multilabel classification
만약 K개의 independent한 이진 분류를 수행한다고 하면, 각각의 K개에 대해서 그 밑의 Hidden Layer를 공유하도록 하여 model을 만들 수 있다.
E=k∑(−rklogyk−(1−rk)log(1−yk))
BCE의 합을 [[Loss]] 함수로 사용하여 업데이트 된다.
즉, Hidden layer가 업데이트를 공유시키므로써 일종의 dynamic programming을 통해 계산 성능을 향상시킨다.
이는 Multitask Learning이라고도 불리는데, task(이진 분류)는 여러 개를 수행하면서 Hidden Layer는 공유하기 때문이다.